Fast gamma correction method for image reading apparatus

ABSTRACT

A fast gamma correction method for image reading apparatus is proposed. The original intervals for normalized output data are combined to merged interval with less number and the original color correction function is replaced by a fitting function in the merged interval. For an input normalized data, the corresponding merged interval is found and a fitting function associated with the merged interval is invoked to find the corresponding normalized and corrected data.

FIELD OF THE INVENTION

[0001] The present invention relates to a fast gamma correction method for image reading apparatus, especially to a fast gamma correction method for image reading apparatus with less storage space.

BACKGROUND OF THE INVENTION

[0002] The image reading apparatus such as scanner, digital still camera and video camera become popular, as the Internet is prevalent. The image reading apparatus have different mechanism and physical property with image output apparatus such as display and printer. Therefore, the image data obtained from the image reading apparatus generally requires correction such as gamma correction to present picture with fidelity.

[0003] Provided that X denotes input pixel data and Y denotes output pixel data, the Gamma correction can be expressed in the form Y=X^(γ), or other empirical curve. The function representation is hard to realize by hardware, look-up table is often used to enhance processing speed. The size of the gamma correction table depends on the resolution (bit number) of the input pixel data and output pixel data. The gamma correction table requires 4K word storage space of 12-bit input data and 8-bit output data. The gamma correction table requires 64K word storage space of 16-bit input data and 8-bit output data, which is not feasible for ordinary platform.

[0004] The applicability of the look-up table is also limited by data accessing speed. The page mode accessing is not useful due to the randomness of pixel data. The data accessing time is 120 ns for external 60 ns DRAM.

SUMMARY OF THE INVENTION

[0005] It is an object of the present invention to provide a gamma correction method for image reading apparatus with less storage space.

[0006] It is an object of the present invention to provide a gamma correction method for image reading apparatus with fast accessing speed.

[0007] To achieve above objects, the gamma correction method for image reading apparatus according to the present invention comprises following steps:

[0008] a. provided that the normalized output pixel data Y is quantified by n-bit, the original 2^(n) intervals is reduced to M merged interval, wherein M≦2^(n), the original correction function is represent by an approximated function with simple function form in each merged interval;

[0009] b. reading normalized input pixel data X and allocating the read data to a merged interval;

[0010] c. finding the normalized output pixel data Y by approximated function in the merged interval and the normalized input pixel data X.

[0011] The various objects and advantages of the present invention will be more readily understood from the following detailed description when read in conjunction with the appended drawing, in which:

BRIEF DESCRIPTION OF DRAWING

[0012]FIG. 1 is an example with liner fitting function for gamma correction function;

[0013]FIG. 2 demonstrates interval mergence in the present invention;

[0014]FIG. 3 shows a block diagram to realize the gamma correction method according to the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0015] The gamma correction function is generally monotonic function, therefore, realistic gamma correction function can be approximated by a simple function such as linear function or polynomial function is a specific interval. The gamma correction function has good approximation by prudently choosing interval and approximating function even though the gamma correction function is not monotonic function.

[0016]FIG. 1 shows a first example of gamma correction function approximated by a linear function, wherein X denotes normalized input signal to be corrected and Y denotes normalized output signal to be corrected. The normalized output signal Y is quantified to 2 bit for illustration. The threshold values of Y coordinate are 0, 0.25, 0.5, 0.75, and 1. That is, the output between 0 and 0.25 is corresponding to Y₁ (code 00), the output between 0.25 and 0.5 is corresponding to Y₂(code 01, etc. The solid line in this figure represents realistic gamma correction function and the dashed line in this figure represents approximated gamma correction function. The threshold values of X coordinate X_(T0), X_(T1), X_(T2), X_(T3), X_(T4) can be obtained by inversely mapping threshold values of Y coordinate 0, 0.25, 0.5, 0.75, 1 with respect to realistic gamma correction function.

[0017] In the example shown in FIG. 1, the related interval of the input pixel data X is determined with reference to the threshold values of X coordinate X_(T0), X_(T1), X_(T2), X_(T3), X_(T4) and then an appropriate fitting function is used to obtain corresponding output pixel data Y. In the example shown in FIG. 1, two comparison steps are required if binary search is used. If the output pixel data Y is represented by n-bit, n times of comparison is required, which is time consuming. In the present invention, the 2^(n) intervals are merged to reduce search time.

[0018] The symbols used in the specification are list below for clarity:

[0019] m: resolution of input data

[0020] n: resolution of output data

[0021] {Y₀, Y₁ . . . Y₂ ^(n) ⁻¹}: symbolic set of output data

[0022] {X₀, X₁ . . . X₂ ^(m) ⁻¹}: symbolic set of input data

[0023] {T₀, T₁ . . . T₂ ^(n)}: threshold set

[0024] Y=G(X): realistic color correction function

[0025] F_((h,k)) (.) fitting function in interval (T_(h), T_(k))

[0026] D(.): distortion measure function

[0027] Q(.): quantizer function

[0028] Provided T₀=0, T₂ ^(n)=1, which are boundary values of output pixel data and the thresholds T₀, T₁ . . . T₂ ^(n) divide the range of normalized output data into 2^(n) intervals. The normalized output data can be obtained with reference to the thresholds Y_(j)=(T_(j)+T_(j+1))/2,j=0, 1, 2 . . . 2^(n)−1 and the quantization of normalized output data is executed by following formula:

Q(Y)=min{D(Y−Y _(j))|Y _(j) , j=0˜2^(n)−1}

[0029] The input thresholds can also be obtained by the output thresholds:

{G ⁻¹(T ₀),G⁻¹(T ₁) . . . G ⁻¹(T ₂ ^(n))}

[0030] If the 2n intervals are not merged, the related interval of the input data is found and then the output signal is obtained by the function relationship Y=G(X). For example, for the input data G⁻¹(T_(j))<X<G⁻¹(T_(J+1)), the output signal corresponding to X is Y_(j).

[0031] The present invention is characterized in that the 2^(n) intervals of the output data are merged into a plurality of merged intervals, and the color correction function in each merged interval can be approximated by a suitable fitting function. For example, if the intervals between T_(h) to T_(k) are combined to a merged interval and the color correction function in the merged interval is approximated by a fitting function F_((h,k))(.), which is a simple function such as a linear function or exponential function.

[0032]FIG. 2 demonstrates interval mergence in the present invention, wherein the fitting function F_((h,k)) is a linear function represented by dashed line and the realistic color correction function is represented by solid line. In this example, m=3 and n=2, and there are four intervals for the output data. When one tries to combine interval (T₂, T₃) and (T₃,T₄), and approximates the color correction function in the merged interval by a fitting function F_((2,4)) (.). The quantized input data X4 has contradiction because Q(F_((2,4))(X₄))=Y₂ and Q(G (X₄))=Y_(3.) Therefore, the interval (T₂, T₃) and (T₃,T₄) cannot be combined. On the contrary, the combination of intervals (T₀, T₁) and (T₁,T₂) are safe. Therefore, the intervals (T₀, T₁) and (T₁,T₂) can be combined into a merged (T₀, T₂), and the color correction function in the merged interval is approximated by a fitting function F_((0,2))(.).

[0033] Hereinafter is the merging algorithm for intervals

[0034] step 0: set k=0;

[0035] step 1: set h=k;

[0036] step 2: set=k+1;

[0037] step 3: if k=2^(n), stop;

[0038] step 4: if s is within (h,k), and all X_(T), T=0 . . . 2^(m)−1, in (G⁻¹(T_(s)), G⁻¹(T_(s+1))), are equal to all X_(T), T=0 . . . 2^(m)−1 in (F¹ _((h,k))(T_(s)), F¹ _((h,k))(T_(s+1))), back to step 2;

[0039] step 5: merging (T_(h), T_(h+1))˜(T_(k−1), T_(k)) into (T_(h), T_(k)), and recoding F_((h,k))(.);

[0040] step 6: back to step 1.

[0041] As can be seen from above algorithm, the criterion to validate the merged interval is to check the consistence between the input data obtained by inverse mapping all output data in the merged interval by realistic color correction function and the input data obtained by inverse mapping all output data in the merged interval by fitting function. If the validation is positive, the mergence is allowable and next interval to the merged interval is tested for further mergence.

[0042]FIG. 3 shows a block diagram to realize the gamma correction method according to the present invention, wherein X denotes the normalized data to be corrected and Y denotes the normalized data after correction. The block diagram comprises a searching unit 102, a storage unit 104 and a curve fitting and output mapping unit 106. The searching unit 102 is used to found the related interval for the normalized input data X. The storage unit 104 is used to store the merged interval (X_(j), X_(j+1)), j=0 . . . M−1. The curve fitting and output mapping unit 106 is used to generate a fitting function corresponding to a related interval and then maps the input data to a corresponding corrected output data. For an input normalized data X to be corrected, the searching unit 102 compares the input normalized data X with thresholds in the storage unit 104 and finds a related interval for the input normalized data X. The curve fitting and output mapping unit 106 generates a fitting function corresponding to the related interval and then maps the input data to a corresponding corrected output data. Although the present invention has been described with reference to the preferred embodiment thereof, it will be understood that the invention is not limited to the details thereof. Various substitutions and modifications have suggested in the foregoing description, and other will occur to those of ordinary skill in the art. Therefore, all such substitutions and modifications are intended to be embraced within the scope of the invention as defined in the appended claims. 

I claim
 1. A fast gamma correction method for image reading apparatus with a color correction function, comprising following steps: a. provided that the image reading apparatus has a plurality of normalized output pixel data after correction Y quantified by n-bit into 2^(n) intervals, the 2^(n) intervals are combined to M merged interval, wherein M≦2^(n), the color correction function for the image reading apparatus is represent by a simple fitting function in each merged interval; b. reading a normalized input pixel data X and locating which merged interval the input pixel data X lie in; c. finding the normalized output pixel data after correction Y by approximated function in the merged interval and using the normalized input pixel data X for substitution.
 2. The fast gamma correction method for image reading apparatus as in claim 1, wherein in step a, the 2^(n) intervals are combined to M merged interval by following steps: step a0: set k=0; step a1: set h=k; step a2: set=k+1; step a3: if k=2^(n), stop; step a4: if s is within (h,k), and all X_(T), T=0 . . . 2^(m)−1, in (G⁻¹(T_(s)), G⁻¹(T_(s+1))), are equal to all X_(T), T=0 . . . 2^(m)−1 in (F⁻¹ _((h,k))(T_(s)), F⁻¹ _((h,k))(T_(s+1))), back to step a2; step a5: merging (T_(h), T_(h+1))˜(T_(k−1), T_(k)) into (T_(h), T_(k)), and recoding F_((h,k))(.); step a6: back to step a1; wherein m: resolution of input data Y=G(X): realistic color correction function F_((h,k))(.) fitting function in interval (T_(h), T_(k))
 3. The fast gamma correction method for image reading apparatus as in claim 1, wherein in step a, the simple fitting function is a non-transcendental function such as polynomial function or exponential function.
 4. The fast gamma correction method for image reading apparatus as in claim 1, wherein image reading apparatus can be scanner, digital still camera or video camera. 